<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class BindProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {

    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {

        //register service
        $this->app->bind('App\Http\Repositories\Services\IUser', 'App\Http\Repositories\Services\Impls\UserService');
        $this->app->bind('App\Http\Repositories\Services\IMessage', 'App\Http\Repositories\Services\Impls\MessageService');
        $this->app->bind('App\Http\Repositories\Services\IArticle', 'App\Http\Repositories\Services\Impls\ArticleService');
        $this->app->bind('App\Http\Repositories\Services\IType', 'App\Http\Repositories\Services\Impls\TypeService');
        $this->app->bind('App\Http\Repositories\Services\IRole', 'App\Http\Repositories\Services\Impls\RoleService');
        $this->app->bind('App\Http\Repositories\Services\ISystem', 'App\Http\Repositories\Services\Impls\SystemService');
        $this->app->bind('App\Http\Repositories\Services\IRegion', 'App\Http\Repositories\Services\Impls\RegionService');
        $this->app->bind('App\Http\Repositories\Services\IPermission', 'App\Http\Repositories\Services\Impls\PermissionService');
        $this->app->bind('App\Http\Repositories\Services\IBrand', 'App\Http\Repositories\Services\Impls\BrandService');
        $this->app->bind('App\Http\Repositories\Services\IProduct', 'App\Http\Repositories\Services\Impls\ProductService');
        $this->app->bind('App\Http\Repositories\Services\IProductSite', 'App\Http\Repositories\Services\Impls\ProductSiteService');




        $this->app->bind('App\Http\Repositories\Daos\IOpenDao', 'App\Http\Repositories\Daos\Impls\OpenDao');
        $this->app->bind('App\Http\Repositories\Daos\IUserDao', 'App\Http\Repositories\Daos\Impls\UserDao');
        $this->app->bind('App\Http\Repositories\Daos\ITypeDao', 'App\Http\Repositories\Daos\Impls\TypeDao');
        $this->app->bind('App\Http\Repositories\Daos\IArticleDao', 'App\Http\Repositories\Daos\Impls\ArticleDao');
        $this->app->bind('App\Http\Repositories\Daos\IRoleDao', 'App\Http\Repositories\Daos\Impls\RoleDao');
        $this->app->bind('App\Http\Repositories\Daos\ISystemDao', 'App\Http\Repositories\Daos\Impls\SystemDao');
        $this->app->bind('App\Http\Repositories\Daos\IRegionDao', 'App\Http\Repositories\Daos\Impls\RegionDao');
        $this->app->bind('App\Http\Repositories\Daos\ISpaceDao', 'App\Http\Repositories\Daos\Impls\SpaceDao');
        $this->app->bind('App\Http\Repositories\Daos\ISuggestDao', 'App\Http\Repositories\Daos\Impls\SuggestDao');
        $this->app->bind('App\Http\Repositories\Daos\ISystemSetDao', 'App\Http\Repositories\Daos\Impls\SystemSetDao');
        $this->app->bind('App\Http\Repositories\Daos\IMessageDao', 'App\Http\Repositories\Daos\Impls\MessageDao');
        $this->app->bind('App\Http\Repositories\Daos\IPermissionDao', 'App\Http\Repositories\Daos\Impls\PermissionDao');
        $this->app->bind('App\Http\Repositories\Daos\IBrandDao', 'App\Http\Repositories\Daos\Impls\BrandDao');
        $this->app->bind('App\Http\Repositories\Daos\IProductDao', 'App\Http\Repositories\Daos\Impls\ProductDao');
        $this->app->bind('App\Http\Repositories\Daos\IProductItemDao', 'App\Http\Repositories\Daos\Impls\ProductItemDao');
        $this->app->bind('App\Http\Repositories\Daos\IProductSiteDao', 'App\Http\Repositories\Daos\Impls\ProductSiteDao');
    }

}
